package demo1209.pm;

/*
继承中的构造方法:
在对子类对象进行初始化时，父类的构造函数也会运行.

子类的构造方法的第一条语句,默认有一个super()语句,用于调用父类的无参构造方法.
在子类中的构造方法的第一条语句，
必须用super去调用父类的构造方法，调用父类的无参构造方法或者是有参构造方法都可以。
构造方法:用来初始化成员变量的值.


 */
public class Demo_04 {
    public static void main(String[] args) {
        Dog d = new Dog();
        d.goupao();
        d.sleep();

        Animal animal = new Animal();
        animal.sleep();
    }
}

class Animal {
    String kind;
    int age;

    public Animal() {
        System.out.println("父类的无参构造方法");
    }

    public Animal(String kind, int age) {
        this.kind = kind;
        this.age = age;
    }

    public void sleep() {
        System.out.println("睡觉...");
    }
}

class Dog extends Animal {

    public Dog() {
        System.out.println("子类的无参构造方法");
    }

    public void goupao(){
        System.out.println("正在狗刨...");
    }

}